package com.mdb.open.epay.domain.vo.epay;

import com.mdb.bc.api.data.DataObjectBase;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @author liuyi
 * @date 2019-11-14
 **/
@Data
@ApiModel(value = "OrderVo", description = "订单查询Vo对象")
public class OrderVo extends DataObjectBase {

    private static final long serialVersionUID = 1L;

    /**
     * 訂單號
     */
    @ApiModelProperty(value = "訂單號")
    @NotBlank
    private String orderNo;

    /**
     * 原訂單號
     */
    @ApiModelProperty(value = "原訂單號")
    private String oriOrderNo;

    /**
     * 原交易日期
     */
    @ApiModelProperty(value = "原交易日期時間 yyyyMMddHHmmss")
    private String oriOrderDate;

    /**
     * 銀行交易流水號
     */
    @ApiModelProperty(value = "銀行交易流水號")
    @NotBlank
    private String bankSerialNo;

    /**
     * 交易類型 CHARGE(充值) PAY(支付) REFUND(即時退款) CANCEL(撤销)
     */
    @ApiModelProperty(value = "交易類型 CHARGE(充值) PAY(支付) REFUND(即時退款) CANCEL(撤销)")
    private String tradeType;

    /**
     * 交易金額
     */
    @ApiModelProperty(value = "交易金額")
    @NotBlank
    private String orderAmt;

    /**
     * 交易日期
     */
    @ApiModelProperty(value = "交易日期 yyyyMMddHHmmss")
    private String orderDate;

    /**
     * 已退款金額
     */
    @ApiModelProperty(value = "已退款金額")
    private String aldyBackAmt;

    /**
     * 交易幣種
     */
    @ApiModelProperty(value = "交易幣種")
    @NotBlank
    private String currency;

    /**
     * 交易狀態
     */
    @ApiModelProperty(value = "交易狀態")
    @NotBlank
    private String status;

    /**
     * 清算日期
     */
    @ApiModelProperty(value = "清算日期 yyyyMMdd")
    @NotBlank
    private String tfrDate;

    /**
     * 支付匯率
     */
    @ApiModelProperty(value = "支付匯率")
    private String payRate;

    /**
     * 退貨匯率
     */
    @ApiModelProperty(value = "退貨匯率")
    private String reRate;
}
